﻿//校验调价方案
function validPlanDj(sProjGUID, sPlanGUID) {
    var sFile, sRtn;
    //如果当前调价方案的状态不为“待审批”，则提示“当前调价方案状态不为‘待审批’，不允许发起审批！”，不执行后续操作
    //如果当前项目下存在待执行的标准价调价方案，不执行后续操作
    //如果当前方案中存在“现底价总价”小于等于0或“现底价建筑单价”小于等于0的房间，不执行后续操作
    sFile = "/Slxt/XMZB/Jggl_Pub_XMLHTTP.aspx?PlanGUID=" + sPlanGUID + "&ProjGUID=" + sProjGUID + "&funcid=01010109";
    sRtn = openXMLHTTP(sFile, "VALIDPLAN");
    switch (sRtn) {
        case "SP_FAIL":
            alert('当前调价方案状态不为“待审批”，不允许发起审批！');
            return false;
            break;
        case "ZXTJ_FAIL":
            alert("当前项目下已存在一个待执行的方案，不允许发起审批！");
            return false;
            break;
        case "PRICE_FAIL":
            alert("部分房间单价或总价小于等于0，不允许发起审批！");
            return false;
            break;
        default:
            break;
    }
    //如果当前方案中存在面积发生改变的房间，则打开“面积变更房间”页面，不执行后续操作
    if (!Vaild_TjMjbg(sPlanGUID)) {
        return false;
    }

    return true;
}

function validPlanBzj(sProjGUID, sPlanGUID) {
    var sFile, sRtn;
    //如果当前调价方案的状态不为“待审批”，不执行后续操作
    //如果当前项目下存在待执行的标准价调价方案，不执行后续操作
    //如果当前方案中存在“总价”小于0或“建筑单价”小于等于0的房间，不执行后续操作
    sFile = "/Slxt/XMZB/Jggl_Pub_XMLHTTP.aspx?PlanGUID=" + sPlanGUID + "&ProjGUID=" + sProjGUID + "&funcid=01010111";
    sRtn = openXMLHTTP(sFile, "VALIDPLAN");
    switch (sRtn) {
        case "SP_FAIL":
            alert("当前调价方案状态不为“待审批”，不允许发起审批！");
            return false;
            break;
        case "ZXTJ_FAIL":
            alert("当前项目下已存在一个待执行的方案，不允许发起审批！");
            return false;
            break;
        case "PRICE_FAIL":
            alert("部分房间单价或总价小于等于0，不允许发起审批！");
            return false;
            break;
        default:
            break;
    }

    //如果启用“启用底价管理”业务参数
    //如果当前方案中存在标准总价小于底价总价的房间，不执行后续操作
    if (!validBzj_Dj(sPlanGUID,"部分房间总价小于底价总价，不允许发起审批！")) {
        return false;
    }
    //如果当前方案中存在面积发生改变的房间，则打开“面积变更房间”页面，不执行后续操作
    if (!Vaild_TjMjbg(sPlanGUID)) {
        return false;
    }

    return true;
}

//校验调价方案制定后，房间的面积是否发生改变过面积变更？
function Vaild_TjMjbg(sPlanGUID) {

    var sFile = "/Slxt/XMZB/Jggl_Pub_XMLHTTP.aspx?PlanGUID=" + escape(sPlanGUID) + "&funcid=01010111";
    var sRtn = openXMLHTTP(sFile, "VAILD_TJISMJBG");
    if (sRtn == "YES") {
        OpenTjMjbg(sPlanGUID); //打开试面积变更房间列表窗口
        return false;
    }
    else {
        if (sRtn == "NO") {
            return true;
        }
        else {
            alert("数据异常，请与系统管理员联系！");
            return false;
        }
    }
}

//打开面积变更房间列表窗口供调整
function OpenTjMjbg(sPlanGUID) {
    var mode = "2";
    if (__mode.value != 2) mode = "3";
    var sParamList = "mode=" + mode + "&PlanGUID=" + escape(sPlanGUID);

    var sFile = "/Slxt/XMZB/Tj_Edit_Mjbg.aspx?" + sParamList
    OpenWin(sFile, 800, 600, 0);
}

//如果启用“启用底价管理”业务参数
//如果当前方案中存在标准总价小于底价总价的房间，不执行后续操作
function validBzj_Dj(sPlanGUID, sMsg) {
    var sFile, sRtn;
    //如果启用“启用底价管理”业务参数
    //如果当前方案中存在标准总价小于底价总价的房间，则提示“部分房间总价小于底价总价，不允许审批！”，不执行后续操作
    if (document.getElementById("hidIsEnabledDjManage").value === "1") {
        sFile = "/Slxt/XMZB/Jggl_Pub_XMLHTTP.aspx?PlanGUID=" + sPlanGUID;
        sRtn = openXMLHTTP(sFile, "VALID_BZJ_DJ_SP");
        var sMsg;
        if (sRtn === "FAIL_WDZDJ") {
            sMsg = "部分房间底价单价或底价总价小于等于0，不允许发起审批！";
            alert(sMsg);
            return false;
        }
        else if (sRtn === "FAIL_CDJ") {
            sMsg = "部分房间总价小于底价总价，不允许发起审批！";
            alert(sMsg);
            return false;
        }
        else {
            return true;
        }
    }
    return true;
}

//当变更类型为"价格变更"时,需要进行穿低价校验
function getSaleModiPrice(sSaleModiApplyGUID) {
    //跟进变更的GUID，获取房间的底价和变更后价格
    var sFile, sRtn;
    sFile = "/Slxt/XMZB/Jggl_Pub_XMLHTTP.aspx?SaleModiApplyGUID=" + sSaleModiApplyGUID;
    sRtn = openXMLHTTP(sFile, "GetSaleModiPrice");
    return sRtn;
}
